The present invention relates to a receiver and a program updating method, and more particularly, to a receiver for digital satellite broadcasting and a system and method for updating a control program for such a receiver.
In digital satellite broadcasting, a television signal in digital form is transmitted using a broadcasting satellite. As shown in FIG. 1, a broadcast signal S1 of digital satellite broadcasting system 10 is transmitted from a transmitting antenna 1, received by a broadcasting satellite 2 and then is amplified and retransmitted as a broadcast signal S2. A digital broadcasting receiver 4 receives the broadcast signal S2 through a receiving antenna 3, demodulates and decodes the signal S2 and then transmits the signal S2 to a television receiver 5 as a video signal S4.
The control program in digital broadcasting receiver 4 must be updated if, e.g., a change in broadcasting services or a problem in the program (a xe2x80x9cbugxe2x80x9d) occur. To enable such updating, the control program has been stored in an erasable, nonvolatile memory (e.g., a flash memory or an EEPROM) and updated as required. By multiplexing the updated control program to the broadcast signal, a user also can download the updated program from this signal.
To update the control program, however, the old control program first must be erased and then the new control program written to, for example, a flash memory. The program for this processing, therefore, must operate independently of the control program. A characteristic of flash memory, moreover, is that, although erasing and updating data in certain memory blocks is possible, reading data from, or writing data to, some blocks while erasing other blocks is impossible. Therefore, the program for executing update processing must be present in a memory different from that storing the control program being updated.
To solve this problem, the two-bank updating method and the RAM (random access memory) updating method have been used. The two-bank method uses two banks of flash memory. One bank stores the control program, and the other bank receives the new control program. FIG. 2 illustrates the two-bank method. Two flash memories 6A (bank 0) and 6B (bank 1) each have a memory capacity V and the same structure. A control program, stored in either bank 0 or bank 1, is executed during normal operation. In this case, it is assumed that the control program is stored in bank 0.
To update this control program, a new control program is downloaded in accordance with a program for executing update processing stored in bank 0. This new control program is written to bank 1. The system then executes the new control program from bank 1. When updating of the control program is again required, the program for executing update processing stored in bank 1 is executed, and the new control program is written to bank 0. Thus, by using two identical flash memories and alternately performing write and read operations to and from these memories, the control program can be updated as required.
A problem with the two-bank method, however, is that one flash memory is used only during update processing. Therefore, twice the flash-memory capacity needed for normal processing is required. Moreover, since hardware for independently operating both banks of flash memory must be present, the structure is complex.
The RAM method uses only one flash memory. The new control program initially is downloaded into a RAM, and the system then copies this program to the flash memory. FIG. 3 illustrates this method. To perform update processing, the control program in flash memory 6 is executed to write a new control program in RAM 7. After this write operation is completed, an update program, also stored in RAM 7, is executed to erase the old control program in flash memory 6. The new control program then is written from RAM 7 to flash memory 6.
Although only one flash memory is required in the RAM method, the RAM requires a region V for storing the control program and a region Vp for storing the update program. The necessary capacity of RAM 7, therefore, is large. Moreover, the contents of RAM 7 may be lost if a power outage occurs at any time beginning with the erasing of data from flash memory 6 through the writing of a new control program in flash memory 6. If the control program is lost, the functions of digital broadcasting receiver 4 also may be lost.
An object of the present invention, therefore, is to provide a system and method for updating a receiver""s control program having a simple structure and means for preventing the loss of functions due to a power outage during such updating.
The foregoing object and other objects of the invention are achieved by providing a receiver for a broadcast signal with an erasable, nonvolatile memory as a first storage means and a volatile memory as a second storage means. The first storage means stores the control program. The receiver also includes means for obtaining from the broadcast signal an updated version of the control program and a second program for loading and storing the updated version of the control program. The receiver has a processing unit for processing the control program, the updated version of the control program and the second program. The processing unit is operative to process the control program from the first storage means to download from the broadcast signal the second program and store this program in the second storage means and to process the second program from the second storage means to download the updated version of the control program from the broadcast signal and replace in the first storage means the control program with this updated version.
The nature, principle and utility of the invention will be better understood from the following detailed description, when read in conjunction with the accompanying drawings. Like parts are designated by like reference numerals or characters.